package com.cmfi.service.inter;


import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.cmfi.domain.AssembleQuality;

/**
 * Service Interface for managing {@link AssembleQuality}.
 */
@Transactional
public interface ForkliftQualityService {
    /**
     * Save a forkliftQuality.
     *
     * @param forkliftQuality the entity to save.
     * @return the persisted entity.
     */
    AssembleQuality save(AssembleQuality forkliftQuality);

    List<AssembleQuality> submit(List<AssembleQuality> forkliftQualities);

    List<AssembleQuality> getQualityByVinCode(String vinCode);

    List<AssembleQuality> getQualityByPosition(String position);

    /**
	 * Updates a forkliftQuality.
	 *
	 * @param forkliftQuality the entity to update.
	 * @return the persisted entity.
	 */
	AssembleQuality update(Long id, AssembleQuality forkliftQuality);

	/**
	 * Partially updates a forkliftQuality.
	 *
	 * @param forkliftQuality the entity to update partially.
	 * @return the persisted entity.
	 */
	AssembleQuality partialUpdate(Long id, AssembleQuality forkliftQuality);

	/**
	 * Returns the number of forkliftQualities available.
	 * 
	 * @return the number of entities in the database.
	 *
	 */
    Long countAll();

    /**
     * Get the "id" forkliftQuality.
     *
     * @param id the id of the entity.
     * @return the entity.
     */
    AssembleQuality findOne(Long id);

    /**
     * Delete the "id" forkliftQuality.
     *
     * @param id the id of the entity.
     * @return a Mono to signal the deletion
     */
    void delete(Long id);

	List<AssembleQuality> findAll();

	List<AssembleQuality> findByPage(Long pageNum, Long pageSize) throws Exception;
}
